<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>首页二</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
  <link rel="stylesheet" href="../lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
  <link rel="stylesheet" href="../css/public.css" media="all">
  <style>
    .layui-card {border:1px solid #f2f2f2;border-radius:5px;}
    .icon {margin-right:10px;color:#1aa094;}
    .icon-cray {color:#ffb800!important;}
    .icon-blue {color:#1e9fff!important;}
    .icon-tip {color:#ff5722!important;}
    .layuimini-qiuck-module {text-align:center;margin-top: 10px}
    .layuimini-qiuck-module a i {display:inline-block;width:100%;height:60px;line-height:60px;text-align:center;border-radius:2px;font-size:30px;background-color:#F8F8F8;color:#333;transition:all .3s;-webkit-transition:all .3s;}
    .layuimini-qiuck-module a cite {position:relative;top:2px;display:block;color:#666;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:14px;}
    .welcome-module {width:100%;height:210px;}
    .panel {background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}
    .panel-body {padding:10px}
    .panel-title {margin-top:0;margin-bottom:0;font-size:12px;color:inherit}
    .label {display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;margin-top: .3em;}
    .layui-red {color:red}
    .main_btn > p {height:40px;}
    .layui-bg-number {background-color:#F8F8F8;}
    .layuimini-notice:hover {background:#f6f6f6;}
    .layuimini-notice {padding:7px 16px;clear:both;font-size:12px !important;cursor:pointer;position:relative;transition:background 0.2s ease-in-out;}
    .layuimini-notice-title,.layuimini-notice-label {
      padding-right: 70px !important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;}
    .layuimini-notice-title {line-height:28px;font-size:14px;}
    .layuimini-notice-extra {position:absolute;top:50%;margin-top:-8px;right:16px;display:inline-block;height:16px;color:#999;}
  </style>
</head>
<body>
<div class="layuimini-container">
  <div class="layuimini-main">
    <div class="layui-row layui-col-space15">
      <div class="layui-col-md8">
        <div class="layui-row layui-col-space15">
          <div class="layui-col-md6">
            <div class="layui-card">
              <div class="layui-card-header"><i class="fa fa-warning icon"></i>数据统计</div>
              <div class="layui-card-body">
                <div class="welcome-module">
                  <div class="layui-row layui-col-space10">
                    <div class="layui-col-xs6">
                      <div class="panel layui-bg-number">
                        <div class="panel-body">
                          <div class="panel-title">
                            <span class="label pull-right layui-bg-blue">实时</span>
                            <h5>用户统计</h5>
                          </div>
                          <div class="panel-content">
                            <h1 class="no-margins"><span id="userCount"></span></h1>
                            <small>当前分类总记录数</small>
                          </div>
                        </div>
                      </div>
                    </div>
                    <div class="layui-col-xs6">
                      <div class="panel layui-bg-number">
                        <div class="panel-body">
                          <div class="panel-title">
                            <span class="label pull-right layui-bg-cyan">实时</span>
                            <h5>药材统计</h5>
                          </div>
                          <div class="panel-content">
                            <h1 class="no-margins"><span id="sampleCount"></span></h1>
                            <small>当前分类总记录数</small>
                          </div>
                        </div>
                      </div>
                    </div>
<!--                    <div class="layui-col-xs6">-->
<!--                      <div class="panel layui-bg-number">-->
<!--                        <div class="panel-body">-->
<!--                          <div class="panel-title">-->
<!--                            <span class="label pull-right layui-bg-orange">实时</span>-->
<!--                            <h5>浏览统计</h5>-->
<!--                          </div>-->
<!--                          <div class="panel-content">-->
<!--                            <h1 class="no-margins">1234</h1>-->
<!--                            <small>当前分类总记录数</small>-->
<!--                          </div>-->
<!--                        </div>-->
<!--                      </div>-->
<!--                    </div>-->
<!--                    <div class="layui-col-xs6">-->
<!--                      <div class="panel layui-bg-number">-->
<!--                        <div class="panel-body">-->
<!--                          <div class="panel-title">-->
<!--                            <span class="label pull-right layui-bg-green">实时</span>-->
<!--                            <h5>订单统计</h5>-->
<!--                          </div>-->
<!--                          <div class="panel-content">-->
<!--                            <h1 class="no-margins">1234</h1>-->
<!--                            <small>当前分类总记录数</small>-->
<!--                          </div>-->
<!--                        </div>-->
<!--                      </div>-->
<!--                    </div>-->
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="layui-col-md6">
            <div class="layui-card">
              <div class="layui-card-header"><i class="fa fa-credit-card icon icon-blue"></i>快捷入口</div>
              <div class="layui-card-body">
                <div class="welcome-module">
                  <div class="layui-row layui-col-space10 layuimini-qiuck">
                    <div class="layui-col-xs3 layuimini-qiuck-module">
                      <a href="javascript:;" layuimini-content-href="/page/yaocai_add.html" data-title="药材添加" data-icon="fa fa-window-maximize">
                        <i class="fa fa-window-maximize"></i>
                        <cite>药材添加</cite>
                      </a>
                    </div>
                    <div class="layui-col-xs3 layuimini-qiuck-module">
                      <a href="javascript:;" layuimini-content-href="/page/yaocai_list.html" data-title="药材列表" data-icon="fa fa-table">
                        <i class="fa fa-table"></i>
                        <cite>药材列表</cite>
                      </a>
                    </div>
                    <div class="layui-col-xs3 layuimini-qiuck-module">
                      <a href="javascript:;" layuimini-content-href="/page/FileImport.html" data-title="药材导入" data-icon="fa fa-file-text">
                        <i class="fa fa-file-text"></i>
                        <cite>药材导入</cite>
                      </a>
                    </div>
                    <div class="layui-col-xs3 layuimini-qiuck-module">
                      <a href="javascript:;" layuimini-content-href="/page/yaocai_query.html" data-title="药材查询" data-icon="fa fa-search">
                        <i class="fa fa-search"></i>
                        <cite>药材查询</cite>
                      </a>
                    </div>
<!--                    <div class="layui-col-xs3 layuimini-qiuck-module">-->
<!--                      <a href="javascript:;" layuimini-content-href="page/form.html" data-title="表单示例" data-icon="fa fa-calendar">-->
<!--                        <i class="fa fa-calendar"></i>-->
<!--                        <cite>表单示例</cite>-->
<!--                      </a>-->
<!--                    </div>-->
<!--                    <div class="layui-col-xs3 layuimini-qiuck-module">-->
<!--                      <a href="javascript:;" layuimini-content-href="page/404.html" data-title="404页面" data-icon="fa fa-hourglass-end">-->
<!--                        <i class="fa fa-hourglass-end"></i>-->
<!--                        <cite>404页面</cite>-->
<!--                      </a>-->
<!--                    </div>-->
<!--                    <div class="layui-col-xs3 layuimini-qiuck-module">-->
<!--                      <a href="javascript:;" layuimini-content-href="page/button.html" data-title="按钮示例" data-icon="fa fa-snowflake-o">-->
<!--                        <i class="fa fa-snowflake-o"></i>-->
<!--                        <cite>按钮示例</cite>-->
<!--                      </a>-->
<!--                    </div>-->
                    <div class="layui-col-xs3 layuimini-qiuck-module">
                      <a href="javascript:;" layuimini-content-href="http://www.zhongyoo.com" data-title="中药搜索" data-icon="fa fa-search">
                        <i class="fa fa-search"></i>
                        <cite>中药搜索</cite>
                      </a>
                    </div>

                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="layui-col-md12">
            <div class="layui-card">
              <div class="layui-card-header">
                <i class="fa fa-line-chart icon"></i>文章编辑
                <span style="margin-right: 0px"><a href="">最近文章</a></span>
              </div>
              <div class="layui-card-body">
                <div id="content" style="width: 100%;min-height:500px">
                  <form class="layui-form layuimini-form" action="">
                    <div class="layui-form-item">
                      <label class="layui-form-label required"  >标题</label>
                      <div class="layui-input-block">
                        <input class="layui-input" name="articletitle" type="text" lay-verify="required" lay-reqtext="请填写标题" id="articleTitle"/>
                      </div>
                    </div>
                    <div class="layui-form-item">
                      <label class="layui-form-label required">作者</label>
                      <div class="layui-input-block">
                        <input class="layui-input" name="author" type="text" id="author" lay-verify="required" lay-reqtext="请填写作者名字" />
                      </div>
                    </div>
                    <div class="layui-form-item" style="margin-left: -40px">
                      <label class="layui-form-label required">正文</label>
                      <div class="layui-input-block">
                        <div id="editor"  style="margin: 50px 0 50px 0"></div>
                      </div>
                    </div>
                    <div class="layui-form-item">
                      <div class="layui-input-block">
                        <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="saveBtn"  id="saveBtn">发布</button>
                      </div>
                    </div>
                  </form>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="layui-col-md4">
        <div class="layui-card">
          <div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
          <div class="layui-card-body layui-text" id="noticeContent">
            <div class="layuimini-notice">
              <div class="layuimini-notice-title">新增treetable插件和菜单管理样式</div>
              <div class="layuimini-notice-extra">2019-07-05 14:28</div>
              <div class="layuimini-notice-content layui-hide">
                界面足够简洁清爽。<br>
                一个接口几行代码而已直接初始化整个框架，无需复杂操作。<br>
                支持多tab，可以打开多窗口。<br>
                支持无限级菜单和对font-awesome图标库的完美支持。<br>
                失效以及报错菜单无法直接打开，并给出弹出层提示完美的线上用户体验。<br>
                url地址hash定位，可以清楚看到当前tab的地址信息。<br>
                刷新页面会保留当前的窗口，并且会定位当前窗口对应左侧菜单栏。<br>
                移动端的友好支持。<br>
              </div>
            </div>
            <div class="layuimini-notice">
              <div class="layuimini-notice-title">修改logo缩放问题</div>
              <div class="layuimini-notice-extra">2019-07-04 11:02</div>
              <div class="layuimini-notice-content layui-hide">
                界面足够简洁清爽。<br>
                一个接口几行代码而已直接初始化整个框架，无需复杂操作。<br>
                支持多tab，可以打开多窗口。<br>
                支持无限级菜单和对font-awesome图标库的完美支持。<br>
                失效以及报错菜单无法直接打开，并给出弹出层提示完美的线上用户体验。<br>
                url地址hash定位，可以清楚看到当前tab的地址信息。<br>
                刷新页面会保留当前的窗口，并且会定位当前窗口对应左侧菜单栏。<br>
                移动端的友好支持。<br>
              </div>
            </div>
            <div class="layuimini-notice">
              <div class="layuimini-notice-title">修复左侧菜单缩放tab无法移动</div>
              <div class="layuimini-notice-extra">2019-06-17 11:55</div>
              <div class="layuimini-notice-content layui-hide">
                界面足够简洁清爽。<br>
                一个接口几行代码而已直接初始化整个框架，无需复杂操作。<br>
                支持多tab，可以打开多窗口。<br>
                支持无限级菜单和对font-awesome图标库的完美支持。<br>
                失效以及报错菜单无法直接打开，并给出弹出层提示完美的线上用户体验。<br>
                url地址hash定位，可以清楚看到当前tab的地址信息。<br>
                刷新页面会保留当前的窗口，并且会定位当前窗口对应左侧菜单栏。<br>
                移动端的友好支持。<br>
              </div>
            </div>
            <div class="layuimini-notice">
              <div class="layuimini-notice-title">修复多模块菜单栏展开有问题</div>
              <div class="layuimini-notice-extra">2019-06-13 14:53</div>
              <div class="layuimini-notice-content layui-hide">
                界面足够简洁清爽。<br>
                一个接口几行代码而已直接初始化整个框架，无需复杂操作。<br>
                支持多tab，可以打开多窗口。<br>
                支持无限级菜单和对font-awesome图标库的完美支持。<br>
                失效以及报错菜单无法直接打开，并给出弹出层提示完美的线上用户体验。<br>
                url地址hash定位，可以清楚看到当前tab的地址信息。<br>
                刷新页面会保留当前的窗口，并且会定位当前窗口对应左侧菜单栏。<br>
                移动端的友好支持。<br>
              </div>
            </div>
          </div>
        </div>

        <div class="layui-card">
          <div class="layui-card-header"><i class="fa fa-fire icon"></i>用户信息</div>
          <div class="layui-card-body layui-text">
            <table class="layui-table">
              <colgroup>
                <col width="100">
                <col>
              </colgroup>
              <tbody>
              <tr>
                <td>用户名称</td>
                <td>
                  <span id="username"></span>
                </td>
              </tr>
              <tr>
                <td>手机号码</td>
                <td><span id="phone"></span></td>
              </tr>
              <tr>
                <td>邮箱</td>
                <td><span id="email"></span></td>
              </tr>
              <tr>
                <td>用户编号</td>
                <td>
                 <span id="userid"></span>
                </td>
              </tr>
              <tr>
                <td>发表文章</td>
                <td>
                  <ol id="art">

                  </ol>
                </td>
              </tr>
              </tbody>
            </table>
          </div>
        </div>

        <div class="layui-card">
          <div class="layui-card-header"><i class="fa fa-paper-plane-o icon"></i>作者心语</div>
          <div class="layui-card-body layui-text layadmin-text">
            <p>本模板基于layui2.5.4以及font-awesome-4.7.0进行实现。layui开发文档地址：<a class="layui-btn layui-btn-xs layui-btn-danger" target="_blank" href="http://www.layui.com/doc">layui文档</a></p>
            <p>技术交流QQ群（716235988）：<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=7TMTuAJv"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="layuimini" title="layuimini"></a>（加群请备注来源：如gitee、github、官网等）</p>
            <p>喜欢此后台模板的可以给我的GitHub和Gitee加个Star支持一下</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
  layui.use(['layer', 'miniTab','echarts','layedit','wangEditor','form'], function () {
    var $ = layui.jquery,
            layer = layui.layer,
            miniTab = layui.miniTab,
            form=layui.form;
    wangEditor = layui.wangEditor;
    //获取用户数据进行展示。
    $.get(
            '/user/getuser',
            function(data){
              if(data!=null){
                var data=$.parseJSON(data);
                var articless = $.parseJSON(data.articles);
                console.log(data)
                $("#username").html(data.username)
                $("#phone").html(data.phone);
                $("#email").html(data.email);
                $("#userid").html(data.uid);
                var content='';
                for(let i=0;i<articless.length;i++){
                  content=content+'<li>'+articless[i].articletitle+'</li>'
                }
                $("#art").html(content);//将内容动态展示到页面当中。
              }
            });

    /**
     * 富文本编辑器
     **/
    var editor = new wangEditor('#editor');
    editor.customConfig.uploadImgServer = "../api/upload.json";
    editor.customConfig.uploadFileName = 'image';
    editor.customConfig.pasteFilterStyle = false;
    editor.customConfig.uploadImgMaxLength = 5;
    editor.customConfig.uploadImgHooks = {
      // 上传超时
      timeout: function (xhr, editor) {
        layer.msg('上传超时！')
      },
      // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
      customInsert: function (insertImg, result, editor) {
        console.log(result);
        if (result.code == 1) {
          var url = result.data.url;
          url.forEach(function (e) {
            insertImg(e);
          })
        } else {
          layer.msg(result.msg);
        }
      }
    };
    editor.customConfig.customAlert = function (info) {
      layer.msg(info);
    };
    editor.create();
    miniTab.listen();

    /**
     * 查看实时刷新数据。
     **/
    let websocket=null;
    let host=document.location.host;//获取客户端主机编号。
    //判断当前浏览器是否支持websocket
    if(!!window.WebSocket && window.WebSocket.prototype.send){
      //连接webSocket节点
      websocket = new WebSocket("ws://"+host+"/websocket");
    }else{
      alert("浏览器不支持webSocket");
    }
    //连接发生错误的回调方法
    // websocket.onerror=function (){
    //   setMessageInnerHTML("error");
    // }
    //接收到消息的回调方法
    websocket.onmessage=function (event){
      let data=event.data;
      var Jsondata = $.parseJSON(data);//将字符串转换成json格式接收
      console.log(Jsondata)
      var JsonNotice=$.parseJSON(Jsondata.notice)
      console.log(JsonNotice)
      $("#userCount").html(Jsondata.userCount);//实时数据刷新。
      $("#sampleCount").html(Jsondata.miaosampleCount);//实时数据刷新。
      var noticeContent='';
      if(JsonNotice!=null)
      for(let i=0;i<JsonNotice.length;i++){
        noticeContent=noticeContent+'<div class="layuimini-notice">' +
                '<div class="layuimini-notice-title">'+JsonNotice[i].noticetitle+'</div>' +
                '<div class="layuimini-notice-extra">'+JsonNotice[i].noticetime+'</div>' +
                '<div class="layuimini-notice-content layui-hide">'+JsonNotice[i].noticecontent+'</div></div>'
      }

      $("#noticeContent").html(noticeContent);
    }

    //连接关闭的回调方法
    websocket.onclose = function () {
      console.log("websocket关闭连接")
    };

    //关闭连接
    function closeWebSocket() {
      websocket.close();
    };
    //监听窗口关闭事件，当窗口关闭时，主动去关闭websocket连接，防止连接还没断开就关闭窗口，server端会抛异常。
    window.onbeforeunload = function () {
      websocket.close();
    };
    /**
     * 查看公告信息
     **/
    $('body').on('click', '.layuimini-notice', function () {
      var title = $(this).children('.layuimini-notice-title').text(),
              noticeTime = $(this).children('.layuimini-notice-extra').text(),
              content = $(this).children('.layuimini-notice-content').html();
      var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
              '<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
              '<div style="font-size: 12px">' + content + '</div>\n' +
              '</div>\n';
      parent.layer.open({
        type: 1,
        title: '系统公告'+'<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">'+noticeTime+'</span>',
        area: '300px;',
        shade: 0.8,
        id: 'layuimini-notice',
        btn: ['查看', '取消'],
        btnAlign: 'c',
        moveType: 1,
        content:html,
        success: function (layero) {
          var btn = layero.find('.layui-layer-btn');
          btn.find('.layui-layer-btn0').attr({
            href: 'https://gitee.com/zhongshaofa/layuimini',
            target: '_blank'
          });
        }
      });
    });
    /**
     *药材文章发布
     **/
    form.on("submit(saveBtn)",function () {
      console.log(123)
      var htmlContent = editor.txt.html();
      console.log(htmlContent)
      $.post(
              '/article/articleInfo',
              {
                'author': $("#author").val(),
                'articletitle': $("#articleTitle").val(),
                'body': editor.txt.html()
              },
              function (data) {
                console.log(data)
                if (data) {
                  layer.msg('发布成功', {
                    icon: 1,
                    time: 500
                  }, function () {
                    $("#author").val(null)
                    $("#articleTitle").val(null)
                    editor.txt.html("");
                  })
                } else {
                  layer.msg('发布失败', {
                    icon: 2,
                    time: 500
                  })
                }
              }, 'json'
      );
      return false;
    });
  });
</script>
</body>
</html>
